package com.study.designpattern.singleton;

/**
 * --------单例模式（懒汉式）------
 * -------线程不安全，不可用------
 */
public class Singleton {

    /**创建 SingleObject 的一个对象*/
    private static Singleton singleton;

    /**让构造函数为 private，这样该类就不会被实例化*/
    private Singleton(){}

    /**获取唯一可用的对象*/
    public static Singleton getSingleton(){
        if (singleton==null){
            singleton=new Singleton();
        }
        return singleton;
    }

    /**展示信息*/
    public void showMessage(){
        System.out.println("Hello World!");
    }

    public static void main(String[] args) {

        //不合法的构造函数
        //编译时错误：构造函数 SingleObject() 是不可见的
        //SingleObject object = new SingleObject();
        //获取唯一可用的对象
        Singleton object = Singleton.getSingleton();
        //显示消息
        object.showMessage();
    }
}
